package org.jeecg.modules.wmhb.entity;

import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import org.jeecg.common.constant.ProvinceCityArea;
import org.jeecg.common.util.SpringContextUtils;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;

import io.swagger.v3.oas.annotations.media.Schema;
import java.io.UnsupportedEncodingException;

/**
 * @Description: 任务
 * @Author: jeecg-boot
 * @Date:   2025-09-30
 * @Version: V1.0
 */
@Data
@TableName("wm_task")
@Schema(description="任务")
public class WmTask implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @Schema(description = "主键")
    private java.lang.String id;
	/**创建人*/
    @Schema(description = "创建人")
    private java.lang.String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "创建日期")
    private java.util.Date createTime;
	/**更新人*/
    @Schema(description = "更新人")
    private java.lang.String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "更新日期")
    private java.util.Date updateTime;
	/**所属部门*/
    @Schema(description = "所属部门")
    private java.lang.String sysOrgCode;
	/**父级节点*/
	@Excel(name = "父级节点", width = 15)
    @Schema(description = "父级节点")
    private java.lang.String pid;
	/**是否有子节点*/
	@Excel(name = "是否有子节点", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @Schema(description = "是否有子节点")
    private java.lang.String hasChild;
    /**所有层级父节点*/
    @Excel(name = "所有层级父节点", width = 15)
    @Schema(description = "所有层级父节点")
    private java.lang.String ancestors;
	/**名称*/
	@Excel(name = "名称", width = 15)
    @Schema(description = "名称")
    private java.lang.String name;
	/**BOM类型*/
	@Excel(name = "BOM类型", width = 15)
    @Schema(description = "BOM类型")
    private java.lang.String type;
    /**责任用户ID*/
    @Excel(name = "责任用户ID", width = 15)
    @Schema(description = "责任用户ID")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
    private java.lang.String chargeUserId;
	/**工艺人员*/
	@Excel(name = "工艺人员", width = 15)
    @Schema(description = "工艺人员")
    private java.lang.String processUserId;
    /**核减用户ID*/
    @Excel(name = "核减用户ID", width = 15)
    @Schema(description = "核减用户ID")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
    private java.lang.String storageUserId;
    /**报料用户ID*/
    @Excel(name = "报料用户ID", width = 15)
    @Schema(description = "报料用户ID")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
    private java.lang.String wantedUserId;
	/**需求数量*/
	@Excel(name = "需求数量", width = 15)
    @Schema(description = "需求数量")
    private java.lang.String needNum;
	/**工艺状态*/
	@Excel(name = "工艺状态", width = 15)
    @Schema(description = "工艺状态")
    private java.lang.String processStatus;
	/**生产状态*/
	@Excel(name = "生产状态", width = 15)
    @Schema(description = "生产状态")
    private java.lang.String produceStatus;
    /**报料状态*/
    @Excel(name = "报料状态", width = 15)
    @Schema(description = "报料状态")
    private java.lang.String wantedStatus;
    /**核减状态*/
    @Excel(name = "核减状态", width = 15)
    @Schema(description = "核减状态")
    private java.lang.String storageStatus;
    /**计划ID*/
    @Excel(name = "计划ID", width = 15)
    @Schema(description = "计划ID")
    private java.lang.String planId;
    /**编码*/
    @Excel(name = "编码", width = 15)
    @Schema(description = "编码")
    private java.lang.String code;
    /**产品物料标识*/
    @Excel(name = "产品物料标识", dicCode = "item_or_product")
    @Dict(dicCode = "item_or_product")
    private String itemOrProduct;
    /**数量*/
    @Excel(name = "数量")
    private Double quantity;
    /**是否齐套*/
    @Excel(name = "是否齐套", width = 15, dicCode = "yn")
    @Dict(dicCode = "yn")
    @Schema(description = "是否齐套")
    private java.lang.String isSatisfy;

}
